package com.aiwiown.snackmq.common.dto.console;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.List;

/**
 * 【已重构】用于封装单个消费者组信息的数据传输对象。
 * 此版本移除了过时的 'topic' 字段，并直接包含由 Broker 预先计算好的 'totalLag'，
 * 以支持多主题消费组并简化前端逻辑。
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ConsumerGroupDTO implements Serializable {

    private static final long serialVersionUID = 313433136977676162L;
    /**
     * 消费者组名称
     */
    private String groupName;

    /**
     * 该消费者组所有分区的总消息积压量。
     * 此值由 Broker 在 API 调用时预先计算。
     */
    private long totalLag;

    /**
     * 各个消费分区的详细延迟信息。
     */
    private List<PartitionLagDTO> partitionLags;
}